////双端队列
//#include <iostream>
//#include <deque>
//#include <algorithm>//find/sort
//using namespace std;
//
//class Student {
//public:
//	Student(const string& name = "", int age = 0) :m_name(name), m_age(age) {
//	}
//	bool operator == (const Student& that)const {
//		return m_age == that.m_age && m_name == that.m_name;
//	}
//	bool operator<(const Student& that)const {
//		return m_age < that.m_age;
//	}
//	bool operator>(const Student& that)const {
//		return m_age > that.m_age;
//	}
//
//private:
//	string m_name;//姓名
//	int m_age;//年龄
//	friend ostream& operator<<(ostream& os, const Student& stu);
//};
//
//ostream& operator<<(ostream& os, const Student& stu) {
//	return os << stu.m_name << ':' << stu.m_age;
//}
//
//void print(const string& str, deque<Student>& vs{
//	cout << str << endl;
////typedef deque<Student>::iterator IT;
////for (IT it = v.begin(); it != v.end(); ++it) {
////	cout << *it << endl;
////}
///*for (const auto& s : vs) {
//	cout << s << endl;
//}*/
//
//for (int i = 0; i < vs.size(); i++) {
//	cout << vs[i] << endl;
//}
//	cout << "================" << endl;
//}
//
//int main() {
//	deque<Student> vs;
//	vs.push_back(Student("张飞", 22));
//	vs.push_back(Student("赵云", 32));
//	vs.push_back(Student("关羽", 30));
//	vs.push_back(Student("马超", 36));
//	vs.push_back(Student("黄忠", 90));
//
//	print("添加元素后:", vs);
//
//	vs.insert(vs.begin(), Student("刘备", 33));//增
//	print("在迭代器指定位置插入元素后:", vs);
//
//	vs.erase(vs.begin());//删
//	print("在迭代器指定位置删除元素后:", vs);
//
//	typedef deque<Student>::iterator IT;
//	IT it = vs.begin();
//	*it = Student("诸葛亮", 32);
//	print("更改迭代器指向位置的元素后:", vs);
//
//	sort(vs.begin(), vs.end(), greater<Student>());
//	print("排序后:", vs);
//
//
//	vs.resize(3);//重新设置大小
//	print("resize之后", vs);
//	return 0;
//}